import org.molamil.acto.pages.PageContext;
import org.molamil.acto.pages.factory.PageContainer;

/**
 * Defines factory methods to retrieve pages.
 *
 * @author Jorge Hernandez
 */
interface org.molamil.acto.pages.factory.PageFactory extends PageContainer {
	
	
	/**
	 * Gets an <code>ExternalPageMaster</code> by name.
	 *    
	 * @param   name Page name.
	 * @return  If found, an <code>ExternalPageMaster</code> object. 
	 * 			If not found, <code>null</code>.
	 */
	function getExternalPage(name:String):PageContext;
	
	/**
	 * Gets an <code>InternalPageMaster</code> by name.
	 *    
	 * @param   name Page name.
	 * @return  If found, an <code>InternalPageMaster</code> object. 
	 * 			If not found, <code>null</code>.
	 */
	function getInternalPage(name:String):PageContext;
	
	/**
	 * Gets an <code>LinkedPageMaster</code> by name.
	 *    
	 * @param   name Page name.
	 * @return  If found, an <code>LinkedPageMaster</code> object. 
	 * 			If not found, <code>null</code>.
	 */
	function getLinkedPage(name:String):PageContext;
	
	
}